The present invention relates to a multiprocess computer system. It can be used especially for extensive communications among various computer processes through standard inputs/outputs. More particularly, it can be used for the applications-transparent implementation of complex services such as, for example, services pertaining to client/server mode, distributed and concurrent processing, data flow control, malfunction tolerance, supervision, reconfiguration and dynamic extension as well as the modelling of the systems architecture.
The communications channels of UNIX machines, also known as UNIX pipes, constitute especially an inter-process communications service providing for the one-way, secured transfer of data between two processes. A major advantage of this mode of transfer lies in the possibility of obtaining co-operation between two processes that are completely independent of each other, simply by changing the direction of the inputs/outputs of each of the processes, the output of one being rerouted to the input of the other. This mechanism is widely used in UNIX systems. It can be used to design simple programs, specialized in a precise task, and thereafter to bring these programs together in order to subsequently obtain more complex systems of co-operating processes, hereinafter known as coprocesses.
This type of mechanism however has a drawback. The pipes have limitations. In particular, they can connect only two processes at a time by point-to-point or unicast connections. Both processes have to be located on the same machine and, in the case of two-way communications or coprocesses, one of the processes must be the parent of the other.